package vn.edu.ptithcm.pim.service;

import java.util.List;

import vn.edu.ptithcm.pim.dao.ProjectDao;
import vn.edu.ptithcm.pim.dom.Project;
import vn.edu.ptithcm.pim.query.ProjectQuery;

@SuppressWarnings({ "rawtypes" })
public class ProjectService {
	private ProjectDao projectDao;

	public ProjectDao getProjectDao() {
		return projectDao;
	}

	public void setProjectDao(ProjectDao projectDao) {
		this.projectDao = projectDao;
	}

	public void save(Project project) {
		projectDao.save(project);
	}

	public void saveOrUpdate(Project project) {
		projectDao.saveOrUpdate(project);
	}

	public void lock(Project project) {
		projectDao.lock(project);
	}

	public void delete(Project project) {
		projectDao.delete(project);
	}

	public Project merge(Project project) {
		return projectDao.merge(project);
	}

	public Project findById(java.lang.Long id) {
		return projectDao.findById(id);
	}

	public void deleteById(java.lang.Long id) {
		projectDao.deleteById(id);
	}

	public List findByExample(Project project) {
		return projectDao.findByExample(project);
	}

	public List getAll() {
		return projectDao.getAll();
	}

	public Project findByNumber(int number) {
		return projectDao.findByNumber(number);
	}

	public List findByCustomer(java.lang.Long customerId) {
		return projectDao.findByCustomer(customerId);
	}

	public List findByStatus(java.lang.Long projectStatusId) {
		return projectDao.findByStatus(projectStatusId);
	}

	public List<Project> findByQuery(ProjectQuery query, int max, int offset) {
		return projectDao.findByQuery(query, max, offset);
	}

	public int countByQuery(ProjectQuery query) {
		return projectDao.countByQuery(query);
	}

	public List getTasksByPriority(java.lang.Long priorityId,
			java.lang.Long projectId) {
		return projectDao.getTasksByPriority(priorityId, projectId);
	}

	public List getTasksByStatus(java.lang.Long taskStatusId,
			java.lang.Long projectId, int max, int offset) {
		return projectDao
				.getTasksByStatus(taskStatusId, projectId, max, offset);
	}

	public int countTasksByStatus(java.lang.Long taskStatusId,
			java.lang.Long projectId) {
		return projectDao.countTasksByStatus(taskStatusId, projectId);
	}

	public List getTasksByCategory(java.lang.Long categoryId,
			java.lang.Long projectId) {
		return projectDao.getTasksByCategory(categoryId, projectId);
	}

	public List getTasksBySeverity(java.lang.Long severityId,
			java.lang.Long projectId) {
		return projectDao.getTasksBySeverity(severityId, projectId);
	}

	public List getTasksByReporter(String reporter, java.lang.Long projectId) {
		return projectDao.getTasksByReporter(reporter, projectId);
	}

	public List getTasksByAssignedTo(String assignedto, java.lang.Long projectId) {
		return projectDao.getTasksByAssignedTo(assignedto, projectId);
	}

	public List getTasksByAssignedTo(String assignedto,
			java.lang.Long statusId, java.lang.Long projectId) {
		return projectDao.getTasksByAssignedTo(assignedto, statusId, projectId);
	}

	public List getAllMembers(Long projectId) {
		return projectDao.getAllMembers(projectId);
	}

	public List getAllMembers_(Long projectId) {
		return projectDao.getAllMembers_(projectId);
	}

	public List getUnResolvedTasks(String assignedto, Long projectId, int max,
			int offset) {
		return projectDao
				.getUnResolvedTasks(projectId, assignedto, max, offset);
	}

	public int countUnResolvedTasks(Long projectId, String assignedto) {
		return projectDao.countUnResolvedTasks(projectId, assignedto);
	}

	public List getReportedByMeTasks(Long projectId, String visa, int max,
			int offset) {
		return projectDao.getReportedByMeTasks(projectId, visa, max, offset);
	}

	public int countReportedByMeTasks(Long projectId, String visa) {
		return projectDao.countReportedByMeTasks(projectId, visa);
	}

	public List getMonitoredByMeTasks(Long projectId, String visa, int max,
			int offset) {
		return projectDao.getMonitoredByMeTasks(projectId, visa, max, offset);
	}

	public int countMonitoredByMeTasks(Long projectId, String visa) {
		return projectDao.countMonitoredByMeTasks(projectId, visa);
	}

	public List getRecentlyModifiedTasks(Long projectId, int max, int offset) {
		return projectDao.getRecentlyModifiedTasks(projectId, max, offset);
	}

	public int countRecentlyModifiedTasks(Long projectId) {
		return projectDao.countRecentlyModifiedTasks(projectId);
	}

	public int countTasksByCategoryAndStatusType(java.lang.Long categoryId,
			String statusType, java.lang.Long projectId) {
		return projectDao.countTasksByCategoryAndStatusType(categoryId,
				statusType, projectId);
	}

	public int countTasksByPriorityAndStatusType(java.lang.Long priorityId,
			String statusType, java.lang.Long projectId) {
		return projectDao.countTasksByPriorityAndStatusType(priorityId,
				statusType, projectId);
	}

	public int countTasksBySeverityAndStatusType(java.lang.Long severityId,
			String statusType, java.lang.Long projectId) {
		return projectDao.countTasksBySeverityAndStatusType(severityId,
				statusType, projectId);
	}

	public int countTasksByAssignedToAndStatusType(String assignedTo,
			String statusType, java.lang.Long projectId) {
		return projectDao.countTasksByAssignedToAndStatusType(assignedTo,
				statusType, projectId);
	}

	public int countTasksByReportedAndStatusType(String reporter,
			String statusType, java.lang.Long projectId) {
		return projectDao.countTasksByReportedAndStatusType(reporter,
				statusType, projectId);
	}

	public List getDelayTasks(Long projectId, int max, int offset) {
		return projectDao.getDelayTasks(projectId, max, offset);
	}

	public int countDelayTasks(Long projectId) {
		return projectDao.countDelayTasks(projectId);
	}

	public int[] getAllNumbers() {
		return projectDao.getAllNumbers();
	}
}
